<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="stylesheet" href="../../../style.css" type="text/css" media="screen">
<link rel="stylesheet" href="../../../print.css" type="text/css" media="print">
<meta content="IObjectRegistration,com.as3undohistory.register.IObjectRegistration,clear,isClassRegistered,registerClass,registerClasses,registerInstance,unregisterClass" name="keywords">
<title>com.as3undohistory.register.IObjectRegistration</title>
</head>
<body>
<script type="text/javascript" language="javascript" src="../../../asdoc.js"></script><script type="text/javascript" language="javascript" src="../../../cookies.js"></script><script type="text/javascript" language="javascript">
<!--
				asdocTitle = 'IObjectRegistration - API Documentation';
				var baseRef = '../../../';
				window.onload = configPage;
			--></script>
<table style="display:none" id="titleTable" cellspacing="0" cellpadding="0" class="titleTable">
<tr>
<td align="left" class="titleTableTitle">AS3 Undo History</td><td align="right" class="titleTableTopNav"><a onclick="loadClassListFrame('../../../all-classes.html')" href="../../../package-summary.html">All&nbsp;Packages</a>&nbsp;|&nbsp;<a onclick="loadClassListFrame('../../../all-classes.html')" href="../../../class-summary.html">All&nbsp;Classes</a>&nbsp;|&nbsp;<a onclick="loadClassListFrame('../../../index-list.html')" href="../../../all-index-A.html">Index</a>&nbsp;|&nbsp;<a href="../../../index.html?com/as3undohistory/register/IObjectRegistration.html&amp;com/as3undohistory/register/class-list.html" id="framesLink1">Frames</a><a onclick="parent.location=document.location" href="" style="display:none" id="noFramesLink1">No&nbsp;Frames</a></td><td rowspan="3" align="right" class="titleTableLogo"><img alt="Adobe Logo" title="Adobe Logo" class="logoImage" src="../../../images/logo.jpg"></td>
</tr>
<tr class="titleTableRow2">
<td align="left" id="subTitle" class="titleTableSubTitle">Interface&nbsp;IObjectRegistration</td><td align="right" id="subNav" class="titleTableSubNav"><a href="#methodSummary">Methods</a></td>
</tr>
<tr class="titleTableRow3">
<td colspan="2">&nbsp;</td>
</tr>
</table>
<script type="text/javascript" language="javascript">
<!--
if (!isEclipse() || window.name != ECLIPSE_FRAME_NAME) {titleBar_setSubTitle("Interface IObjectRegistration"); titleBar_setSubNav(false,false,false,false,false,false,true,false,false,false,false,false,false,false);}
--></script>
<div class="MainContent">
<table cellspacing="0" cellpadding="0" class="classHeaderTable">
<tr>
<td class="classHeaderTableLabel">Package</td><td><a onclick="javascript:loadClassListFrame('class-list.html')" href="package-detail.html">com.as3undohistory.register</a></td>
</tr>
<tr>
<td class="classHeaderTableLabel">Interface</td><td class="classSignature">public interface IObjectRegistration</td>
</tr>
<tr>
<td class="classHeaderTableLabel">Implementors</td><td><a href="../register/ObjectRegistration.html">ObjectRegistration</a></td>
</tr>
</table>
<p></p>
  Describes an object that can examine an object's metadata and create a list of IAccessorRegistrations
  for each property that has been marked with the [Undoable] metadata. 
  <p></p>
<br>
<hr>
</div>
<a name="methodSummary"></a>
<div class="summarySection">
<div class="summaryTableTitle">Public Methods</div>
<table id="summaryTableMethod" class="summaryTable " cellpadding="3" cellspacing="0">
<tr>
<th>&nbsp;</th><th colspan="2">Method</th><th class="summaryTableOwnerCol">Defined&nbsp;by</th>
</tr>
<tr class="">
<td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol">&nbsp;</td><td class="summaryTableSignatureCol">
<div class="summarySignature">
<a class="signatureLink" href="#clear()">clear</a>():void</div>
<div class="summaryTableDescription">
   Deletes all registration data 
   
   </div>
</td><td class="summaryTableOwnerCol">IObjectRegistration</td>
</tr>
<tr class="">
<td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol">&nbsp;</td><td class="summaryTableSignatureCol">
<div class="summarySignature">
<a class="signatureLink" href="#isClassRegistered()">isClassRegistered</a>(clazz:Class):Boolean</div>
<div class="summaryTableDescription">
    
   </div>
</td><td class="summaryTableOwnerCol">IObjectRegistration</td>
</tr>
<tr class="">
<td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol">&nbsp;</td><td class="summaryTableSignatureCol">
<div class="summarySignature">
<a class="signatureLink" href="#registerClass()">registerClass</a>(clazz:Class, accessorNames:Array = null):<a href="../register/IUndoClassRegistration.html">IUndoClassRegistration</a>
</div>
<div class="summaryTableDescription">
   Examines the specified Class object and looks for getter/setter pairs (properties) that have been marked with the [Undoable]
   metadata.</div>
</td><td class="summaryTableOwnerCol">IObjectRegistration</td>
</tr>
<tr class="">
<td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol">&nbsp;</td><td class="summaryTableSignatureCol">
<div class="summarySignature">
<a class="signatureLink" href="#registerClasses()">registerClasses</a>(classes:Array, accessorNamesList:Array = null):Array</div>
<div class="summaryTableDescription">
   Registers a list of classes, this method calls the registerClass method for each element
   in the classes paramater.</div>
</td><td class="summaryTableOwnerCol">IObjectRegistration</td>
</tr>
<tr class="">
<td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol">&nbsp;</td><td class="summaryTableSignatureCol">
<div class="summarySignature">
<a class="signatureLink" href="#registerInstance()">registerInstance</a>(instance:Object):Array</div>
<div class="summaryTableDescription">
   Looks up the appropariate IUndoClassRegistration implementation for the specified object and creates a
   IPropertyValueStack implementation for each property/
   </div>
</td><td class="summaryTableOwnerCol">IObjectRegistration</td>
</tr>
<tr class="">
<td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol">&nbsp;</td><td class="summaryTableSignatureCol">
<div class="summarySignature">
<a class="signatureLink" href="#unregisterClass()">unregisterClass</a>(clazz:Class):void</div>
<div class="summaryTableDescription">
   Removes the IUndoClassRegistration from the class registrations
   </div>
</td><td class="summaryTableOwnerCol">IObjectRegistration</td>
</tr>
</table>
</div>
<script type="text/javascript" language="javascript">
<!--
showHideInherited();
--></script>
<div class="MainContent">
<a name="methodDetail"></a>
<div class="detailSectionHeader">Method detail</div>
<a name="clear()"></a>
<table cellspacing="0" cellpadding="0" class="detailHeader">
<tr>
<td class="detailHeaderName">clear</td><td class="detailHeaderParens">()</td><td class="detailHeaderType">method</td>
</tr>
</table>
<div class="detailBody">
<code>public function clear():void</code><p>
   Deletes all registration data 
   
   </p></div>
<a name="isClassRegistered()"></a>
<table cellspacing="0" cellpadding="0" class="detailHeader">
<tr>
<td class="detailHeaderName">isClassRegistered</td><td class="detailHeaderParens">()</td><td class="detailHeaderType">method</td><td class="detailHeaderRule">&nbsp;</td>
</tr>
</table>
<div class="detailBody">
<code>public function isClassRegistered(clazz:Class):Boolean</code><p>
    
   </p><span class="label">Parameters</span>
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="20px"></td><td><code><span class="label">clazz</span>:Class</code> &mdash; the class to check for
   </td>
</tr>
</table>
<p></p>
<span class="label">Returns</span>
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="20"></td><td><code>Boolean</code> &mdash; true if the class has already been registered
   
   </td>
</tr>
</table>
</div>
<a name="registerClass()"></a>
<table cellspacing="0" cellpadding="0" class="detailHeader">
<tr>
<td class="detailHeaderName">registerClass</td><td class="detailHeaderParens">()</td><td class="detailHeaderType">method</td><td class="detailHeaderRule">&nbsp;</td>
</tr>
</table>
<div class="detailBody">
<code>public function registerClass(clazz:Class, accessorNames:Array = null):<a href="../register/IUndoClassRegistration.html">IUndoClassRegistration</a></code><p>
   Examines the specified Class object and looks for getter/setter pairs (properties) that have been marked with the [Undoable]
   metadata. Optionally an Array of accessorNames can be specified in case an object inherits from another object whose
   source code can't be modified with the necesary metadata.
   </p><span class="label">Parameters</span>
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="20px"></td><td><code><span class="label">clazz</span>:Class</code> &mdash; the class to be examined
   </td>
</tr>
<tr>
<td class="paramSpacer">&nbsp;</td>
</tr>
<tr>
<td width="20px"></td><td><code><span class="label">accessorNames</span>:Array</code> (default = <code>null</code>)<code></code></td>
</tr>
</table>
<p></p>
<span class="label">Returns</span>
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="20"></td><td><code><a href="../register/IUndoClassRegistration.html">IUndoClassRegistration</a></code> &mdash; 
                        implementation of IUndoClassRegistration
   
   
                        
                     </td>
</tr>
</table>
</div>
<a name="registerClasses()"></a>
<table cellspacing="0" cellpadding="0" class="detailHeader">
<tr>
<td class="detailHeaderName">registerClasses</td><td class="detailHeaderParens">()</td><td class="detailHeaderType">method</td><td class="detailHeaderRule">&nbsp;</td>
</tr>
</table>
<div class="detailBody">
<code>public function registerClasses(classes:Array, accessorNamesList:Array = null):Array</code><p>
   Registers a list of classes, this method calls the registerClass method for each element
   in the classes paramater. The second optional paramater can be an array of accessorName arrays,
   when this parameter is not null it is required that the array has the same length as the classes
   array parameter.
   </p><span class="label">Parameters</span>
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="20px"></td><td><code><span class="label">classes</span>:Array</code> &mdash; the list of classes to be registered
   </td>
</tr>
<tr>
<td class="paramSpacer">&nbsp;</td>
</tr>
<tr>
<td width="20px"></td><td><code><span class="label">accessorNamesList</span>:Array</code> (default = <code>null</code>)<code></code> &mdash; optional list of accessornames for each class
   </td>
</tr>
</table>
<p></p>
<span class="label">Returns</span>
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="20"></td><td><code>Array</code> &mdash; an array of IUndoClassRegistration implementations
   
   </td>
</tr>
</table>
</div>
<a name="registerInstance()"></a>
<table cellspacing="0" cellpadding="0" class="detailHeader">
<tr>
<td class="detailHeaderName">registerInstance</td><td class="detailHeaderParens">()</td><td class="detailHeaderType">method</td><td class="detailHeaderRule">&nbsp;</td>
</tr>
</table>
<div class="detailBody">
<code>public function registerInstance(instance:Object):Array</code><p>
   Looks up the appropariate IUndoClassRegistration implementation for the specified object and creates a
   IPropertyValueStack implementation for each property/
   </p><span class="label">Parameters</span>
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="20px"></td><td><code><span class="label">instance</span>:Object</code> &mdash; the object to be monitored
   </td>
</tr>
</table>
<p></p>
<span class="label">Returns</span>
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="20"></td><td><code>Array</code> &mdash; an Array of IPropertyValueStack implementations
   </td>
</tr>
</table>
<p>
<span class="label">See also</span>
</p>
<div class="seeAlso">
<a href="../manage/IPropertyValueStack.html" target="">IPropertyValueStack</a>
</div>
</div>
<a name="unregisterClass()"></a>
<table cellspacing="0" cellpadding="0" class="detailHeader">
<tr>
<td class="detailHeaderName">unregisterClass</td><td class="detailHeaderParens">()</td><td class="detailHeaderType">method</td><td class="detailHeaderRule">&nbsp;</td>
</tr>
</table>
<div class="detailBody">
<code>public function unregisterClass(clazz:Class):void</code><p>
   Removes the IUndoClassRegistration from the class registrations
   </p><span class="label">Parameters</span>
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="20px"></td><td><code><span class="label">clazz</span>:Class</code></td>
</tr>
</table>
</div>
<br>
<br>
<hr>
<br>
<p></p>
<center class="copyright">This library is open-source, feel free to use it whichever way you like</center>
</div>
</body>
</html>
<!--This library is open-source, feel free to use it whichever way you like-->
